﻿/*
SINACOR - BMF&Bovespa
Arquivo: ControleMovimentoOrdens.cs
Criado em: 16-jun-2010 10:27:15
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.UI.Bovespa.Alocacao.Communication.Bovespa.Movimento.ControleMovimentoBolsa;

namespace Sinacor.UI.Bovespa.Alocacao.Communication.Translator.DataContractToModel
{
    /// <summary>
    /// 
    /// </summary>
    public class ControleMovimentoBolsa
    {
        #region Construtores
        public ControleMovimentoBolsa() { }
        #endregion Construtores

        #region Métodos
        /// <summary>
        /// ToInformacoesMovimento
        /// </summary>
        /// <param name="from"></param>
        /// <returns></returns>
        public Model.InformacoesMovimento ToInformacoesMovimento(InformacoesMovimentoResponse from)
        {
            Model.InformacoesMovimento retorno = null;

            if (from != null)
            {
                retorno = new Model.InformacoesMovimento();
                retorno.DataMovimento = from.DataMovimento;
                retorno.DataVersao = from.DataVersao;

                #region EnumEstadoMovimento
                switch (from.EstadoMovimento)
                {
                    case TipoMovimento.Abertura:
                        retorno.EstadoMovimento = Sinacor.UI.Bovespa.Alocacao.Model.Enum.TipoMovimento.Abertura;
                        break;
                    case TipoMovimento.Fechamento:
                        retorno.EstadoMovimento = Sinacor.UI.Bovespa.Alocacao.Model.Enum.TipoMovimento.Fechamento;
                        break;
                    case TipoMovimento.ProcessoFechamento:
                        retorno.EstadoMovimento = Sinacor.UI.Bovespa.Alocacao.Model.Enum.TipoMovimento.ProcessoFechamento;
                        break;
                    case TipoMovimento.Reabertura:
                        retorno.EstadoMovimento = Sinacor.UI.Bovespa.Alocacao.Model.Enum.TipoMovimento.Reabertura;
                        break;
                }
                #endregion
            }

            return retorno;
        }
        #endregion Métodos

    }
}
